In radio communication systems, powerful error control methods can be useful. One attractive error control technique is the class of so called Automatic Repeat reQuest (ARQ) protocols that can ensure reliable information transfer even over extremely noisy channels. The main principle is that a receiving side can request retransmissions of corrupted and/or missing data units from a transmitting side by sending a status reports through a return channel.
In order to improve the reliability of the error control system, multiple retransmission schemes can be overlaid at different protocol layers (see FIG. 1). Such an approach is possible e.g. in the evolved WCDMA standard [1] where a lower (Medium Access Control or MAC) layer retransmission scheme corrects actual radio channel errors whereas an upper (Radio Link Control) protocol layer retransmission scheme ensures recovery from lower layer protocol failures.
In multi-user communication systems, such as cellular radio systems, ARQ protocols are typically used for packet data services (or best-effort services), which means that there can typically be:                retransmission functionalities on the transport level in order to guarantee reliable end-to-end communication, and        retransmission functionalities on the sub-layer(s) of the data link protocol layer to facilitate reliable information transfer over the radio link.        
One of the most important factors for the overall system performance is that these overlaid retransmission protocols usually operate differently. Indeed, lower layer retransmissions can be significantly faster than those of the upper layer. Furthermore, the actual retransmission requests can be triggered in many different ways. Usually, lower layer retransmissions are based on the outcome from the decoding process in a fairly straightforward manner, e.g. as specified in [1]. In turn, upper layer retransmissions can be based on some observations of (somewhat more diffuse and) indirect failure events such as out-of-order data units, e.g. as specified in [2] and abrupt variations in the round trip time, e.g. as used in [3].
In general, the possible (retransmission request) triggering events such as sudden changes in the Internet traffic and failed cyclic redundancy check (in the radio interface) are not related in a simple and easily observable manner. A problem of unnecessary retransmissions therefore arises, since multiple retransmission schemes (that are driven by different triggering events) operate independently of each other and therefore may request retransmissions of exactly the same data unit, which impairs the overall protocol efficiency.
In addition, the transport layer retransmission protocol and the (transport layer) flow control mechanism are closely related to each other. Consequently, another problem arises, since the link layer retransmissions may interact with the transport layer retransmissions, which in turn may negatively influence the transport layer flow control, i.e. unnecessarily throttle the data flow. Consequently, coordination of hierarchical retransmission protocols is important.
Schemes for coordination of hierarchical retransmission protocols have been proposed (and standardized) both for the data link layer and for the transport layer. As already mentioned, an important difference between the different layers is that the transport layer protocol is closely related to the (transport layer) flow control mechanism, which is not the case for the link layer. Thus, coordination methods for the different levels are also dissimilar.
Link Layer Schemes
In the link layer, coordination schemes are used to influence and control the retransmission triggering at different sub-layers (of the data link protocol layer). The goal of the coordination is to avoid unnecessary retransmissions from the overlaid link layer retransmission schemes. Since the receiving side normally triggers the link layer retransmissions, the coordination schemes are placed between the different sub-layers in the receiving side as shown in FIG. 2.
The coordination scheme receives data units from the receiving lower layer entity and further delivers the data units to the receiving upper layer entity. The delivery of subsequent data units to upper layers is delayed until all preceding data units have either been successfully received, possibly after some retransmissions in the lower layer, or the lower layer ARQ entity has decided not to perform any further attempts on the missing data units.
In [4], a timer-based coordination scheme is proposed where the upper layer retransmission requests are delayed for some (usually fixed) delay period that corresponds to the error recovery operation (or the round trip time) at the lower layer.
In [5], a method is described where the data units are delayed by using an algorithm that prevents multiple retransmission requests from different protocol layers until a lower protocol layer failure occurs. If a lower layer protocol failure is detected, it is reported to the upper protocol layer; otherwise, transport error information is received and calculated by the lower layer.
In some existing radio system standards, coordination schemes are already used for the sake of unnecessary link layer retransmission avoidance. In the evolved WCDMA standard [1], e.g. timer-based coordination schemes are used between the medium access control (MAC) and radio link control (RLC) protocol sub-layers.
In the above-mentioned scheme, a list of data units is maintained by using the principle of sliding window. Individual MAC protocol data units are therefore provided with unique sequence numbers. If a data unit with a MAC sequence number higher than the leading edge of the window is received, that data unit is inserted to the position indicated by the sequence number. The window is expanded such that the data unit forms the last data unit in the window. Any data units outside of the window after the window advancement are delivered to the upper layer.
The trailing edge of the window is assigned to the lowest sequence number of those data units that are missing, i.e. those data units that should be received after some retransmissions. A stalling-avoidance timer that is started as soon as a data unit is found to be missing controls the trailing edge of the window. If the missing data unit is not received before the stalling-avoidance timer expires, the data unit is considered to be lost and the coordination scheme advances the window such that the lost data unit is left outside of the sliding window.
Transport Layer Schemes
Similar to link layer protocols, the transport layer retransmissions are based on the feedback from the receiving side but the receiving side typically does not trigger them. It is the transmitting side that actually makes the final retransmission triggering decision by reacting on the feedback. Moreover, the transmitting side controls the data flow by changing the size of the transmitter window in such a way that the window becomes smaller, i.e. the transmission rate is reduced, whenever retransmissions are triggered.
If link layer retransmission protocols are used, the operation of transport layer retransmission protocols can be negatively influenced by some ambiguities. It may happen that both the data transport and the feedback is delayed due to several and sudden data link layer retransmissions. The transmitting side of the transport layer retransmission protocol can further mistakenly interpret this as (congestion or) data loss and retransmissions may be unnecessarily triggered. Unnecessary or spurious retransmissions are undesirable since the triggered retransmissions means that the flow control scheme shrinks the transmission window and thus spurious retransmissions also unnecessarily decrease the transmission rate.
In [6], a scheme referred to as the Eifel detection algorithm is proposed in order to make the Transmission Control Protocol (TCP) robust against spurious retransmissions. The main idea is to eliminate the retransmission ambiguity and then restore the load (state of the transmission window) and resume transmission (after detected spurious retransmissions) with the next unsent segment. The Eifel detection algorithm is included in the TCP standard [7].
In [8], an inter-layer communication scheme is proposed that is based on so-called hints and notifications that can also help the problem of ambiguities. The purpose of the hints is to provide a generic mechanism to propagate some information about error-insensitive payloads from the upper layer to lower layers. The link layer can make use of this information whenever it chooses modulation, error correction and verification mechanisms on per-data unit basis. In turn, the notifications provide a mechanism to inform sources of why some of the data units are dropped. It can also inform sources about long packet delays caused by local retransmissions.
The hints and notifications approach has been proposed for the Internet architecture but—unlike the Eifel detection algorithm—it is not included in the standard